/**
 * 初始化表格的列
 */

var initColum = [
		{
			field : '',
			align : 'center',
			title : '序号',
			formatter : function(value, row, index) {
				return index + 1;
			}
		},
		{
			title : '问题编号',
			field : 'id',
			align : 'center',
			valign : 'middle'
		},
		{
			title : '标题',
			field : 'title',
			align : 'center',
			valign : 'middle',
			formatter : function(value, row, index) {
				return '<div class="tableWrap" title="' + value + '">' + value
						+ '</div>';
			}
		},
		{
			title : '内容',
			field : 'content',
			align : 'center',
			// visible : false,
			valign : 'middle',
			formatter : function(value, row, index) {
				return '<div class="tableWrap" title="' + value + '">' + value
						+ '</div>';
			}
		},
		{
			title : '组别',
			field : 'dept.name',
			align : 'center',
			visible : false,
			valign : 'middle'
		},
		{
			title : '当前处理人',
			field : 'optPerson.fullName',
			align : 'center',
			valign : 'middle'
		},
		{
			title : '录入日期',
			field : 'insertDate',
			align : 'center',
			valign : 'middle',
			formatter : function(value, row, index) {
				if (value == null) {
					return "";
				}
				return new Date(value).format("yyyyMMdd");
			}

		},
		{
			title : '预计处理时间',
			field : 'startDate',
			align : 'center',
			valign : 'middle',
			formatter : function(value, row, index) {
				var startDate = row.startDate;
				var endDate = row.endDate;

				if (startDate == null) {
					startDate = "";
				} else {
					startDate = new Date(startDate).format("yyyyMMdd")
				}
				if (endDate == null) {
					endDate = "";
				} else {
					endDate = new Date(endDate).format("yyyyMMdd")
				}
				return startDate + "-" + endDate;
			}

		},
		{
			title : '预计处理时间起',
			field : 'startDate',
			align : 'center',
			visible : false,
			valign : 'middle',
			formatter : function(value, row, index) {
				if (value == null) {
					return "";
				}
				return new Date(value).format("yyyyMMdd");
			}

		},
		{
			title : '预计处理时间止',
			field : 'endDate',
			align : 'center',
			visible : false,
			valign : 'middle',
			formatter : function(value, row, index) {
				if (value == null) {
					return "";
				}
				return new Date(value).format("yyyyMMdd");
			}

		},
		{
			title : '完成时间',
			field : 'dealDate',
			align : 'center',
			valign : 'middle',
			formatter : function(value, row, index) {
				if (value == null) {
					return "";
				}
				return new Date(value).format("yyyyMMdd");
			}

		},
		{
			title : '任务ID',
			field : 'taskId',
			align : 'center',
			valign : 'middle',
			formatter : function(value, row, index) {
				if (value == null || value == "null") {
					return "";
				}
				var ids = value.split(",");
				var str = "";
				for (var i = 0; i < ids.length; i++) {
					var id = ids[i];
					if (i != 0) {
						str += " , ";
					}
					str += "<a href ='javascript:openTask(" + id + ")'>" + id
							+ "</a>";

				}
				return str;
			}

		} ];

$(function() {

	var validate = $("#form").bootstrapValidator({
		feedbackIcons : {
			valid : 'glyphicon glyphicon-ok',
			invalid : 'glyphicon glyphicon-remove',
			validating : 'glyphicon glyphicon-refresh'
		},
		fields : {
			beginDate : {
				validators : {
					date : {
						format : 'YYYY-MM-DD',
						message : '日期格式不正确'
					},
					callback : {
						message : '确认日期起不能大于确认日期止或不能有一个为空',
						callback : function(value, validator, $field, options) {
							var end = $('#endDate').val();
							if (value == null && end == "") {
								return true;
							}
							if (value == null && end != null) {
								return false;
							}
							if (value != null && end == null) {
								return false;
							}
							return value <= end;
						}
					}
				}
			},
			endDate : {
				validators : {
					date : {
						format : 'YYYY-MM-DD',
						message : '日期格式不正确'
					},
					callback : {
						message : '确认日期起不能大于确认日期止或不能有一个为空',
						callback : function(value, validator, $field, options) {
							var begin = $('#beginDate').val();
							if (value == null && begin == "") {
								return true;
							}
							if (value == null && begin != null) {
								return false;
							}
							if (value != null && begin == null) {
								return false;
							}
							return begin <= value;
						}
					}
				}
			}
		}
	});

	$(".js-example-basic-single").select2();
	$('.form_date').datetimepicker({
		language : 'zh-CN',
		weekStart : 7,
		todayBtn : 1,
		autoclose : 1,
		todayHighlight : 1,
		startView : 2,
		minView : 2,
		forceParse : 0
	});

	$('#table').bootstrapTable({
		columns : initColum,
		contentType : "application/x-www-form-urlencoded",
		pageSize : 6,
		toolbar : '#toolbar', // 搜索框绑定
		url : "/problem/listData",
		uniqueId : 'id', // 绑定ID
		sidePagination : "server",
		singleSelect : true, // 单选checkbox
		striped : true,
		pageNumber : 1,
		clickToSelect : true,
		showColumns : true, // 是否显示所有的列
		showRefresh : true, // 是否显示刷新按钮
		queryParamsType : '',
		queryParams : function(params) {
			params.sszb = $("#sszb").val();
			params.beginDate = $("#beginDate").val();
			params.endDate = $("#endDate").val();
			params.optUser = $("#optUser").val();
			params.zt = $("#zt").val();
			params.earlyDate = $("#earlyDate").val();
			params.plan = $("#plan").val();
			return params;
		},
		pagination : true
	});
	var sszbSelect = $("#sszb").select2().on('change', function() {
		var optUser = $("#optUser").select2();
		var sszb = this.value;
		$.post("/user/getUsers", {
			"sszb" : sszb
		}, function(data, status) {
			$("#optUser").empty();
			var option = new Option("--请选择--", '', false, false);
			optUser.append(option);
			for (var i = 0; i < data.list.length; i++) {
				var d = data.list[i];
				var option = new Option(d.fullName, d.id, false, false);
				optUser.append(option);
			}
			optUser.trigger('change');
		});
	});
});
function query() {
	var bootstrapValidator = $("#form").data('bootstrapValidator');
	bootstrapValidator.resetForm();
	bootstrapValidator.validate();
	if (bootstrapValidator.isValid()) {
		$("#table").bootstrapTable('refresh');
	}
}

function openTask(id) {
	layer.open({
		type : 2,
		title : "局端标准服务清册",
		offset : 15,
		shadeClose : true,
		shade : false,
		maxmin : true, // 开启最大化最小化按钮
		area : [ '893px', '600px' ],
		maxmin : true,
		content : '/task/view?id=' + id
	});
}
